2f371e
@@ -111,6 +111,7 @@
public class ServletUriComponentsBuilder extends UriComponentsBuilder {
 			}
 			else {
 				host = hostToUse;
+				port = -1;
 			}
 		}
 
@@ -119,6 +120,11 @@
public class ServletUriComponentsBuilder extends UriComponentsBuilder {
 			port = Integer.parseInt(portHeader);
 		}
 
+		String protocolHeader = request.getHeader("X-Forwarded-Proto");
+		if (StringUtils.hasText(protocolHeader)) {
+			scheme = protocolHeader;
+		}
+
 		ServletUriComponentsBuilder builder = new ServletUriComponentsBuilder();
 		builder.scheme(scheme);
 		builder.host(host);
